import numpy as np
import matplotlib.pyplot as plt
#样本数据
X=np.array([[1,2],[2,2],[6,8],[7,8]])
#初始聚类中心
C=np.array([[1.0,2.0],[2.0,2.0]])
#迭代5次
iters=5
while iters:
    iters-=1
    B=[]
    for c in C:
        #每个点到聚类中心的距离
        dis=np.sqrt(((X-c)**2).sum(axis=1))
        #存入B
        B.append(dis)
    #按照距离大小，对样本点分类
    min_idx=np.argmin(np.array(B),axis=0)
    #更新聚类中心
    for i in range(len(C)):
        C[i]=np.mean(X[min_idx==i],axis=0)
#输出样本点标签
print(min_idx)
#输出聚类中心坐标
print(C)
plt.scatter(X[:,0],X[:,1])
plt.scatter(C[:,0],C[:,1])
plt.show()